package main

import "fmt"

/*
和 switch-case 不同之处：
不可用 fallthrough 关键字
*/
func main() {

	values := []interface{}{122, "abc", true, 0.222, []int{2, 4, 5}, map[string]int{}, nil, int32(100)}

	for _, x := range values {
		switch v := x.(type) {
		case []int:
			fmt.Println("int slice: ", v)
		case string:
			fmt.Println("string:", v)
		case nil:
			fmt.Println("nil:", v)
		default:
			fmt.Println("others:", v)
		}
	}

}
